<template>
	<view>
		<view v-if="['TJGJ_SPD'].includes(config.name)">
			<view class="sk" v-if="!readonly" @click="handlerApproval()">
				<view class="content">
					<template v-if="_value.length > 0">
						<view
							v-for="(dataItem, index) in _value"
							:key="index"
							class="df jsb ac spdList showSpd"
						>
							<view class="link-icon">
								<uni-icons
									type="link"
									size="20"
									color="#939395"
								></uni-icons>
							</view>
							<view class="data-title text-over">{{
								`${
									dataItem.owner.name ||
									dataItem.staterUser.name
								}提交的${dataItem.processDefName}`
							}}</view>
							<view
								class="data-status"
								:style="'color:' + dealtStatus(dataItem).color"
								>{{ dealtStatus(dataItem).text }}</view
							>
							<view
								class="spdDel"
								@tap.stop="handlerSpdDel(index)"
							></view>
						</view>
					</template>
					<text v-else>请选择</text>
				</view>
			</view>
			<view v-else>
				<template v-for="(dataItem, index) in _value">
					<view
						v-if="_value && _value.length > 0"
						:key="index"
						class="item-container df jsb ac showSpd"
						@tap="jumpDetail(dataItem)"
					>
						<view class="link-icon">
							<uni-icons
								type="link"
								size="20"
								color="#939395"
							></uni-icons>
						</view>
						<view class="data-title text-over">{{
							`${
								dataItem.owner.name || dataItem.staterUser.name
							}提交的${dataItem.processDefName}`
						}}</view>
						<view
							class="data-status"
							:style="'color:' + dealtStatus(dataItem).color"
							>{{ dealtStatus(dataItem).text }}</view
						>
						<!-- <approve-list
              :data="dataItem"
              :active="3"
              :isShow="false"
            ></approve-list> -->
					</view>
				</template>
			</view>
		</view>
		<view v-if="['TJGJ_CW'].includes(config.name)">
			<view v-if="!readonly">
				<view class="table-back">
					<view class="table">
						<view class="tr df table-header">
							<view class="td empty"></view>
							<view class="td amount-title">报销金额(元)</view>
							<view class="td amount-num">发票金额(元)</view>
							<view class="td amount-correct"
								>纠正发票金额(元)</view
							>
							<view class="td amount-type">报销类别</view>
							<view class="td amount-type">报销凭证</view>
						</view>
						<view
							class="tr df"
							style="height: 50rpx"
							v-if="_value.length === 0"
							:key="index"
						>
							<view class="td empty emtpyTd"></view>
							<view class="td amount-title emtpyTd"></view>
							<view class="td amount-num"></view>
							<view
								class="td invoice amount-correct emtpyTd"
							></view>
							<view class="td amount-type emtpyTd"></view>
							<view
								class="td df jsc ac amount-type emtpyTd"
							></view>
						</view>
						<template v-else>
							<view
								@click="handlerBill(item, index)"
								class="tr df"
								v-for="(item, index) in _value"
								:key="index"
							>
								<view class="td empty">{{ index + 1 }}</view>
								<view class="td amount-title tar">{{
									item.totalAmount
								}}</view>
								<view class="td mount-num tar">{{
									item.invoiceAmount
								}}</view>
								<view class="td amount-correct tar">{{
									item.checkInvoiceAmount
								}}</view>
								<view class="td amount-type tar">{{
									item.secondName
								}}</view>
								<view class="td df jsc ac amount-type tar a58">
									<view class="icon"></view
									>{{ item.fileLength }}
								</view>
							</view>
						</template>
						<view class="tr df">
							<view class="td empty a58">合计</view>
							<view class="td amount-title">
								<view style="text-align: right" class="a58">{{
									sum().sum
								}}</view>
								<view style="text-align: right" class="a58">{{
									sum().zhCn
								}}</view>
							</view>
							<view class="td amount-num">
								<view style="text-align: right" class="a58">{{
									sumCopy().sum
								}}</view>
								<view style="text-align: right" class="a58">{{
									sumCopy().zhCn
								}}</view>
							</view>
							<view class="td invoice amount-correct">
								<view style="text-align: right" class="a58">{{
									checkInvoiceAmountSum().sum
								}}</view>
								<view style="text-align: right" class="a58">{{
									checkInvoiceAmountSum().zhCn
								}}</view>
							</view>
							<view class="td amount-type"></view>
							<view class="td amount-type"></view>
						</view>
					</view>
				</view>
				<view class="df jsc add-box" @click="handlerAdd">
					<view class="add"
						><uni-icons
							type="plusempty"
							color="#4095e5"
							size="20"
						></uni-icons
						>添加</view
					>
				</view>
			</view>
			<view v-else class="table-back">
				<view class="table">
					<view class="tr df table-header">
						<view class="td empty"></view>
						<view class="td amount-title">报销金额(元)</view>
						<view class="td amount-num">发票金额(元)</view>
						<view class="td amount-correct">纠正发票金额(元)</view>
						<view class="td amount-type">报销类别</view>
						<view class="td amount-type">报销凭证</view>
					</view>
					<view class="tr df" v-if="_value.length === 0" :key="index">
						<view class="td empty emtpyTd"></view>
						<view class="td amount-title emtpyTd"></view>
						<view class="td amount-num"></view>
						<view class="td invoice amount-correct emtpyTd"></view>
						<view class="td amount-type emtpyTd"></view>
						<view class="td df jsc ac amount-type emtpyTd"></view>
					</view>
					<template v-else>
						<view
							class="tr df"
							v-for="(item, index) in _value"
							:key="index"
						>
							<view class="td empty">{{ index + 1 }}</view>
							<view class="td amount-title tar">{{
								item.totalAmount
							}}</view>
							<view class="td mount-num tar">{{
								item.invoiceAmount
							}}</view>
							<view class="td amount-correct tar">{{
								item.checkInvoiceAmount
							}}</view>
							<view class="td amount-type tar">{{
								item.secondName
							}}</view>
							<view
								class="td df jsc ac amount-type tar a58"
								@tap="handlerShowFile(item)"
							>
								<view class="icon"></view>{{ item.fileLength }}
							</view>
						</view>
					</template>
					<view class="tr df">
						<view class="td empty">合计</view>
						<view class="td amount-title">
							<view style="text-align: right" class="a58">{{
								sum().sum
							}}</view>
							<view style="text-align: right" class="a58">{{
								sum().zhCn
							}}</view>
						</view>
						<view class="td amount-num">
							<view style="text-align: right" class="a58">{{
								sumCopy().sum
							}}</view>
							<view style="text-align: right" class="a58">{{
								sumCopy().zhCn
							}}</view>
						</view>
						<view class="td invoice amount-correct">
							<view style="text-align: right" class="a58">{{
								checkInvoiceAmountSum().sum
							}}</view>
							<view style="text-align: right" class="a58">{{
								checkInvoiceAmountSum().zhCn
							}}</view>
						</view>
						<view class="td amount-type"></view>
						<view class="td amount-type"></view>
					</view>
				</view>
			</view>
		</view>
		<view v-if="['TJGJ_SK'].includes(config.name)">
			<view class="sk" v-if="!readonly" @click="handlerSk(_value)">
				<view class="sk-input">
					<uni-easyinput
						:placeholderStyle="placeholderStyle"
						ref="form"
						class="uni-mt-5"
						trim="all"
						v-model="copyValue"
						:placeholder="
							inputPlaceholderList.get(config.name).text
						"
						:type="inputPlaceholderList.get(config.name).type"
						:autoHeight="config.name === 'TextareaInput'"
					></uni-easyinput>
				</view>
				<view class="content flex-between">
					<view
						v-if="
							Object.prototype.toString.call(_value) ===
								'[object Object]' &&
							Object.keys(_value).length > 0
						"
						class="showDetail w100"
					>
						<view class="account-back">
							<view class="df ac mb30">
								<view class="name-text w180">{{
									_value.name
								}}</view>
								<view class="f30 pl40">{{
									_value.cardNo
								}}</view>
							</view>
							<view class="df ac mt20">
								<view class="f30 pr30 w180">{{
									_value.bankName
								}}</view>
								<view class="f30 pl40">{{
									_value.subBankName
								}}</view>
							</view>
							<view @tap.stop="handlerDel">
								<uni-icons
									class="del"
									type="closeempty"
									size="20"
									color="#fff"
								></uni-icons>
							</view>
						</view>
					</view>
					<text v-else>请选择</text>
					<view class="ml10">
						<uni-icons
							class="del"
							type="right"
							size="24"
							color="#ccc"
						></uni-icons>
					</view>
				</view>
			</view>
			<view v-else>
				<view class="content">
					<view
						v-if="
							Object.prototype.toString.call(_value) ===
								'[object Object]' &&
							Object.keys(_value).length > 0
						"
						class="showDetail"
					>
						<view class="account-back">
							<view class="df ac mb30">
								<view class="name-text w180">{{
									_value.name
								}}</view>
								<view class="f30 pl40">{{
									_value.cardNo
								}}</view>
							</view>
							<view class="df ac mt20">
								<view class="f30 pr30 w180">{{
									_value.bankName
								}}</view>
								<view class="f30 pl40">{{
									_value.subBankName
								}}</view>
							</view>
							<!-- <view  @tap.stop="handlerDel">
								<uni-icons class="del" type="closeempty" size="20" color="#fff"></uni-icons>
							</view> -->
						</view>
						<!-- <view class="showTitle">户名</view>
            <view class="text">{{ _value.name }}</view>
            <view class="showTitle">银行</view>
            <view class="text">{{ _value.bankName }}</view>
            <view class="showTitle">省市</view>
            <view class="text">{{ _value.bankArea }}</view>
            <view class="showTitle">支行</view>
            <view class="text">{{ _value.subBankName }}</view>
            <view class="showTitle">账号</view>
            <view class="text">{{ _value.cardNo }}</view> -->
						<view class="showTitle mt20"
							>为保障付款资金安全，请确保收款账号信息真实合法有效</view
						>
					</view>
				</view>
			</view>
		</view>
		<view
			v-if="
				[
					'AmountInput',
					'TextInput',
					'NumberInput',
					'TextareaInput',
				].includes(config.name)
			"
		>
			<view v-if="!readonly">
				<uni-easyinput
					:placeholderStyle="placeholderStyle"
					ref="form"
					class="uni-mt-5"
					trim="all"
					v-model="_value"
					:placeholder="inputPlaceholderList.get(config.name).text"
					:type="inputPlaceholderList.get(config.name).type"
					:autoHeight="config.name === 'TextareaInput'"
				></uni-easyinput>
			</view>
			<view v-else class="word-warp">
				{{ inputVal(config.name, _value) }}
			</view>
		</view>
		<view v-if="config.name === 'DateTime'">
			<view v-if="!readonly">
				<view
					class="border-time"
					@tap="openPopup('DateTimePicker', '', config.props.format)"
				>
					<uni-icons
						type="calendar"
						size="44rpx"
						color="#c0c4cc"
					></uni-icons>
					<view class="ml10"
						>{{ _value ? _value : '选择日期时间' }}
					</view>
				</view>
			</view>
			<view v-else>{{ _value }}</view>
		</view>
		<view
			v-if="config.name === 'TimePicker'"
			@tap="openPopup('TimePicker')"
		>
			<view v-if="!readonly">
				<view class="border-time">
					<uni-icons
						type="calendar"
						size="44rpx"
						color="#c0c4cc"
					></uni-icons>
					<view class="ml10"
						>{{ _value ? _value : '选择时间点' }}
					</view>
				</view>
			</view>
			<view v-else>{{ _value }}</view>
		</view>
		<view v-if="config.name === 'TimeRangePicker'">
			<view v-if="!readonly">
				<view class="border-time">
					<uni-icons
						type="calendar"
						size="44rpx"
						color="#c0c4cc"
					></uni-icons>
					<view class="df w100 ml20">
						<view
							class="w45 tc"
							@tap="openPopup('TimeRangePicker', 'beginTime')"
							>{{
								_value && _value.length > 0 && _value[0]
									? _value[0]
									: '开始时间'
							}}</view
						>
						<view class="w10 tc">-</view>
						<view
							class="w45 tc"
							@tap="openPopup('TimeRangePicker', 'endTime')"
							>{{
								_value && _value.length > 1 && _value[1]
									? _value[1]
									: '结束时间'
							}}</view
						>
					</view>
				</view>
				<view class="mt10 g6 ml10" v-if="config.props.showLength"
					>时长：{{ timeLength() }}</view
				>
			</view>
			<view v-else>{{ _value ? _value.join(' ~ ') : '' }}</view>
		</view>
		<view v-if="config.name === 'DateTimeRange'">
			<view v-if="!readonly">
				<view class="border-time">
					<uni-icons
						type="calendar"
						size="44rpx"
						color="#c0c4cc"
					></uni-icons>
					<view class="df w100 ml20">
						<view
							class="w45 tc"
							@tap="
								openPopup(
									'DateTimeRangePicker',
									'beginDateTime',
									config.props.format
								)
							"
							>{{
								_value && _value.length > 0 && _value[0]
									? _value[0]
									: '开始日期时间'
							}}</view
						>
						<view class="w10 tc">-</view>
						<view
							class="w45 tc"
							@tap="
								openPopup(
									'DateTimeRangePicker',
									'endDateTime',
									config.props.format
								)
							"
							>{{
								_value && _value.length > 1 && _value[1]
									? _value[1]
									: '结束日期时间'
							}}</view
						>
					</view>
				</view>
				<view class="mt10 g6 ml10" v-if="config.props.showLength"
					>时长：{{
						_value &&
						_value.length > 1 &&
						_value[1] &&
						_value[1].length !== 10
							? dateTimeLength()
							: dateLength()
					}}</view
				>
			</view>
			<view v-else>{{ _value ? _value.join(' ~ ') : '' }}</view>
		</view>
		<view v-if="config.name === 'ImageUpload'" ref="form">
			<view v-if="!readonly">
				<diy-upload
					:value="_value"
					limit="6"
					@emitsUrl="getUploadFile($event)"
				></diy-upload>
			</view>
			<view v-else class="df ac flex-wrap">
				<view
					v-for="medium in _value"
					:key="medium.url"
					class="pct33 mb10"
					style="height: 200rpx"
				>
					<image
						style="width: 98%; height: 100%"
						:src="medium.url"
						v-if="medium.isImage"
						@tap="
							previewImage(
								_value.map((i) => i.url),
								medium.url
							)
						"
					></image>
					<video
						style="width: 98%; height: 100%"
						:src="medium.url"
						v-if="!medium.isImage"
					></video>
				</view>
			</view>
		</view>
		<view v-if="config.name === 'Provinces'">
			<view v-if="!readonly">
				<view @tap="openPicker" class="provinces-border">
					<view v-if="!_value" class="df jsb ac">
						<view class="b2">请选择</view>
						<uni-icons
							type="bottom"
							size="15"
							color="#ccc"
						></uni-icons>
					</view>
					<view v-else class="df jsb ac">
						<view>{{ _value }}</view>
						<uni-icons
							type="top"
							size="15"
							color="#ccc"
						></uni-icons>
					</view>
				</view>
			</view>
			<view v-else>
				<view>{{ _value }}</view>
			</view>
		</view>
		<view v-if="config.name === 'MultipleSelect'">
			<view v-if="!readonly">
				<checkbox-group @change="multipleSelect">
					<label class="mr10" v-for="item in options" :key="item">
						<checkbox color="#2b58de" :value="item">{{
							item
						}}</checkbox>
					</label>
				</checkbox-group>
			</view>
			<view v-else>
				{{ _value && _value.length > 0 && _value.map((i) => i) }}
			</view>
		</view>
		<view v-if="config.name === 'FileUpload'">
			<view v-if="!readonly">
				<uni-file-picker
					:autoUpload="false"
					ref="uploaFilesRef"
					@tap="uploaFiles"
					@select="selectFiles"
					:limit="config.props.maxNumber"
					file-mediatype="all"
					:title="`最多选择${config.props.maxNumber}个文件`"
				></uni-file-picker>
				<view
					v-if="
						config.props.fileTypes &&
						config.props.fileTypes.length > 0
					"
					>{{
						`请选择附件 | 只允许上传${config.props.fileTypes}格式的文件，且单个附件不超过${config.props.maxSize}MB`
					}}</view
				>
				<view v-for="(file, fileIndex) in _value" :key="file">
					<view class="border-solid">
						<view class="flex-between">
							<view>
								<view>
									<text>{{ getFileName(file.name) }}</text>
									<!-- <text @tap="showFileBtn(file)" class="primary-color ml10">预览</text> -->
								</view>
								<view class="df">
									<view
										v-if="config.props.userSeal"
										class="primary-color mr10"
										@tap="
											openPopup(
												'SealInfo',
												file,
												fileIndex
											)
										"
										>点击填入印章信息</view
									>
									<view v-if="file.isfinshed">✅</view>
								</view>
							</view>
							<view @tap="deleteFile(_value, fileIndex)">
								<uni-icons
									type="closeempty"
									color="#666666"
								></uni-icons>
							</view>
						</view>
					</view>
				</view>
			</view>
			<view v-else>
				<view v-for="file in _value" :key="file">
					<view>
						<view>
							<div
								v-if="
									file.sealInfo &&
									file.sealInfo.length > 0 &&
									file.signedFileUrl
								"
								class="file-item mr10 g6"
							>
								原文件
							</div>
							<div class="file-item">
								<text>{{ getFileName(file.name) }}</text>
								<!-- <text @tap="showFileBtn(file)" class="primary-color ml10">预览</text> -->
								<!-- <text @tap="downLoadFile(file)" class="primary-color ml10">下载</text> -->
							</div>
						</view>
						<div v-if="file.signedFileUrl">
							<div class="file-item mr10 g6">盖章后文件</div>
							<div class="file-item">
								<text>{{ getFileName(file.name) }}</text>
								<text
									@tap="
										showFileBtn(file.id, file.signedFileUrl)
									"
									class="primary-color ml10"
									>预览并下载</text
								>
								<!-- <text @tap="downLoadFile(file)" class="primary-color ml10">下载</text> -->
							</div>
						</div>
					</view>
				</view>
			</view>
		</view>
		<view v-if="config.name === 'SelectInput'">
			<view v-if="!readonly">
				<uni-data-checkbox
					v-model="_value"
					:localdata="optionsValues"
				></uni-data-checkbox>
			</view>
			<view v-else>{{ _value }}</view>
		</view>
		<view v-if="config.name === 'Score'">
			<view class="df ac">
				<uni-rate v-model="_value" :max="config.props.max"></uni-rate>
			</view>
			<view
				v-if="!$isNotEmpty(_value) || _value === 0"
				class="mt10 main-color"
				>{{ config.props.placeholder }}</view
			>
		</view>
		<view v-if="config.name === 'DeptPicker'">
			<view class="df jsb ac" @tap="openPopup('DeptPicker')">
				<view>
					<view v-if="_value && _value.length > 0">{{
						_value.map((i) => i.name).join(',')
					}}</view>
					<view v-else class="b2">请选择</view>
				</view>
				<uni-icons
					v-if="!readonly"
					type="right"
					size="36rpx"
					color="#999999"
				/>
			</view>
		</view>
		<view
			v-if="config.name === 'Description'"
			style="color: #606266; font-size: 32rpx"
		>
			{{ config.props.placeholder || '只是一段说明文字' }}
		</view>
		<view
			v-if="config.name === 'SignPanel'"
			@tap="openPopup('SignPanel')"
			class="df jsb ac"
		>
			<view v-if="!_value" class="b2">请签名</view>
			<view v-else>
				<image
					style="
						width: 200rpx;
						height: 200rpx;
						transform: rotate(90deg);
					"
					:src="_value"
				></image>
			</view>
			<uni-icons
				v-if="!readonly"
				type="right"
				size="36rpx"
				color="#999999"
			/>
		</view>
		<view v-if="config.name === 'Location'">
			<view class="df jsb ac" @tap="chooseLoction">
				<view v-if="!_value" class="b2">请选择地理位置</view>
				<view v-if="_value">{{ _value }}</view>
				<uni-icons
					v-if="!readonly"
					type="right"
					size="36rpx"
					color="#999999"
				/>
			</view>
		</view>
		<view
			v-if="config.name === 'UserPicker'"
			@tap="openPopup('UserPicker')"
		>
			<view class="df jsb ac">
				<view>
					<view v-if="_value && _value.length > 0">{{
						_value.map((i) => i.name).join(',')
					}}</view>
					<view v-else class="b2">请选择</view>
				</view>
				<uni-icons
					v-if="!readonly"
					type="right"
					size="36rpx"
					color="#999999"
				/>
			</view>
		</view>
		<div v-if="!readonly">
			<dateTimePick
				:show="isShowDateTimePicker"
				:formatData="formatData"
				@close="closePopup('DateTimePicker')"
				@submit="chooseDateTimePicker"
			></dateTimePick>
			<timePick
				:show="isShowTimePicker"
				@close="closePopup('TimePicker')"
				@submit="chooseTimePicker"
			></timePick>
			<org-pick
				:show="isShowDeptPicker"
				title="选择部门"
				@close="closePopup('DeptPicker')"
				:type="'dept'"
				:selected="_value"
				:multiple="config.props.multiple"
				@submit="chooseDeptPicker"
			></org-pick>
			<org-pick
				:show="isShowUserPicker"
				title="选择人员"
				:type="'user'"
				:selected="_value"
				:multiple="config.props.multiple"
				@close="closePopup('UserPicker')"
				@submit="chooseUserPicker"
			></org-pick>
			<!-- 省市区 -->
			<lotus-address
				v-on:choseVal="choseValue"
				:lotusAddressData="lotusAddressData"
			></lotus-address>
			<seal-info
				:value="sealInfoValue"
				:show="isShowSealInfo"
				@close="closePopup('SealInfo')"
				@submit="chooseSealInfo"
			>
			</seal-info>
			<select-account
				@close="closeAccount"
				@handlerAccount="handlerAccount"
				:showAccount="isShowAccount"
				:accountValue="_value"
			></select-account>
			<add-invoice
				:showAddInvoice="isShowAddInvoice"
				@close="closeInvoice1"
				@handlerSave="handlerSave"
				:infoData="infoData"
				:billFileList="billFileList"
			></add-invoice>
			<selectApproval
				v-if="['TJGJ_SPD'].includes(config.name)"
				:showSelectApproval="isShowSelectApproval"
				:selectItem="_value"
				@handlerData="handlerData"
				@close="handlerApprovalClose"
			></selectApproval>
			<video
				style="width: 98%; height: 100%"
				:src="videoUrl"
				v-if="showVideo"
			></video>
		</div>
		<div v-else>
			<look-file
				:showLookFile="isShowLookFile"
				:billInfo="billInfo"
				@close="handlerLookFile"
			></look-file>
		</div>
	</view>
</template>

<script>
import diyUpload from '@/subPackagesIndex/components/diy-upload/diy-upload.vue'
import timePick from '@/subPackagesIndex/components/timePick/timePick.vue'
import dateTimePick from '@/subPackagesIndex/components/dateTimePick/dateTimePick.vue'
import orgPick from '@/subPackagesIndex/components/orgPick/orgPick.vue'
import lotusAddress from '@/subPackagesIndex/components/lotusAddress/lotusAddress.vue'
import sealInfo from '../components/SealInfo.vue'
import selectAccount from '@/subPackagesIndex/components/selectAccount/selectAccount.vue'
import addInvoice from '@/subPackagesIndex/components/addInvoice/addInvoice.vue'
import selectApproval from '@/subPackagesIndex/components/selectApproval/selectApproval.vue'
import lookFile from '@/subPackagesIndex/components/lookFile/lookFile.vue'
import moment from 'moment'
import { getFileName, imgSuffixName, convertCurrency } from '@/common/utils'
let date = '2023-01-01'
export default {
	name: 'FormDesignRender',
	components: {
		diyUpload,
		lotusAddress,
		orgPick,
		timePick,
		dateTimePick,
		sealInfo,
		selectAccount,
		addInvoice,
		selectApproval,
		lookFile,
		// TableList,
	},
	props: {
		name: {
			type: String,
			default: '',
		},
		readonly: {
			type: Boolean,
			default: false,
		},
		value: {
			default: undefined,
		},
		config: {
			type: Object,
			default: () => {
				return {}
			},
		},
		placeholder: {
			type: String,
			value: '',
			default: '',
		},
		options: {
			type: Array,
			default: () => {
				return []
			},
		},
		expanding: {
			type: Boolean,
			default: false,
		},
		// format:{
		//   type: String,
		//   default: 'yyyy-MM-dd HH:mm'
		// },
	},
	computed: {
		billList() {
			let arr = null
			if (this.$store.state.cwId) {
				arr = this.$store.state.billList[this.$store.state.cwId]
			}
			console.log('arr:', arr)
			return arr
		},
		copyValue() {
			return JSON.stringify(this._value)
		},
		_value: {
			get() {
				let arr = this.value
				if (this.config.props?.userSeal) {
					arr =
						this.value &&
						this.value.length > 0 &&
						this.value.map((i) => {
							return {
								...i,
								sealInfo:
									i.sealInfo && i.sealInfo
										? i.sealInfo
										: [
												{
													seal: {},
													pageNo: 1,
													keywords: '',
												},
										  ],
							}
						})
				}
				this.fileDataHandler(arr)
				return arr
			},
			set(val) {
				if (this.name === 'TableList') {
					this.$emit('inputValList', { [this.config.id]: val })
				} else {
					this.$emit('inputVal', { [this.config.id]: val })
				}
			},
		},
		optionsValues() {
			const arr =
				this.options &&
				this.options.length > 0 &&
				this.options.map((item) => {
					return {
						text: item,
						value: item,
					}
				})
			return arr
		},
	},
	data() {
		return {
			getFileName,
			inputPlaceholderList: new Map([
				['AmountInput', { text: '请输入金额', type: 'number' }],
				['TextInput', { text: '请输入内容', type: '' }],
				['NumberInput', { text: '请输入数值', type: 'number' }],
				['TextareaInput', { text: '请输入内容', type: 'textarea' }],
			]),
			placeholderStyle: 'color:#b2b2b2;font-size:26rpx',
			lotusAddressData: {
				visible: false,
				provinceName: '',
				cityName: '',
				townName: '',
			},
			region: '',
			reginoObj: {},
			isShowDeptPicker: false,
			isShowUserPicker: false,
			isShowSignPanel: false,
			isShowTimePicker: false,
			isShowTimeRangePicker: false,
			isShowDateTimePicker: false,
			isShowSealInfo: false,
			isShowAccount: false,
			isShowAddInvoice: false,
			isShowSelectApproval: false,
			isShowLookFile: false,
			fileData: [],
			//日期时间
			dataTimeType: 'DateTime',
			beginDateTime: '',
			endDateTime: '',
			beginOrEndDateTime: 'beginDateTime',
			// 时间
			timeType: 'time',
			beginTime: '',
			endTime: '',
			beginOrEndTime: 'beginTime',
			formatDate: 'yyyy-MM-dd HH:mm',
			formatData: 'yyyy-MM-dd HH:mm',
			sealInfoValue: {},
			sealInfoIndex: 0,
			showVideo: false,
			videoUrl: '',
			infoData: {},
			selectIndex: 0,
			billFileList: [],
			selectItem: [],
			billInfo: {},
		}
	},
	methods: {
		fileDataHandler(arr) {
			this.fileData = arr?.length ? arr : []
		},
		inputVal(name, contentVal) {
			switch (name) {
				case 'AmountInput': {
					return contentVal + '元'
				}
				case 'TextInput': {
					if (contentVal.toString().indexOf('{') === 0) {
						let obj = JSON.parse(contentVal)
						return obj.text
					} else {
						return contentVal
					}
				}
				default:
					return contentVal
			}
		},
		dateLength() {
			if (
				Array.isArray(this.value) &&
				this.value.length > 1 &&
				this.value[0] &&
				this.value[1]
			) {
				let totalDays, diffDate
				let myDate_1 = Date.parse(this.value[0])
				let myDate_2 = Date.parse(this.value[1])
				diffDate = Math.abs(myDate_1 - myDate_2)
				totalDays = Math.floor(diffDate / (1000 * 3600 * 24))
				return `${totalDays + 1}天`
			} else {
				return '先选择日期时间哦'
			}
		},
		dateTimeLength() {
			let reg = /[\u4e00-\u9fa5]/g
			//求时长算法
			if (
				Array.isArray(this.value) &&
				this.value.length > 1 &&
				this.value[0] &&
				this.value[1]
			) {
				let start = moment(this.value[0].replace(reg, '')).format(
					this.formatDate.replaceAll('dd', 'DD')
				)
				let end = moment(this.value[1].replace(reg, '')).format(
					this.formatDate.replaceAll('dd', 'DD')
				)
				console.log(start, end)
				if (
					start === end ||
					this.value[0].replace(reg, '') ===
						this.value[1].replace(reg, '')
				) {
					return '0 （时长为0，请确认）'
				}
				let mstart = moment(start)
				let mend = moment(end)
				let years = mend.diff(start, 'years')
				let months = mend.diff(start, 'months')
				let days = mend.diff(start, 'days')
				let hours = mend.diff(start, 'hours')
				let minutes = mend.diff(start, 'minutes')
				minutes = minutes % 60
				hours = hours % 24
				months = months % 12
				//因为每月天不固定，所以天要特殊动态处理
				if (mstart.date() < mend.date()) {
					days = mend.date() - mstart.date()
					if (minutes > 0 || hours > 0) {
						days--
					}
				}
				//处理超过俩月且天超过31
				if (days > 31 && mend.month() - mstart.month() >= 2) {
					//将日期推至上月求差
					days = mend.diff(
						mstart.add(mend.month() - mstart.month() - 1, 'month'),
						'days'
					)
				}
				return `${years > 0 ? years + '年 ' : ' '}${
					months > 0 ? months + '个月 ' : ' '
				}
                ${days > 0 ? days + '天 ' : ' '}${
					hours > 0 ? hours + '小时 ' : ' '
				}
                ${minutes > 0 ? minutes + '分钟 ' : ' '}`
			} else {
				return '先选择日期时间哦'
			}
		},
		timeLength() {
			//求时长算法
			if (Array.isArray(this.value) && this.value.length > 1) {
				if (this.value[0] === this.value[1]) {
					return '0 （时长为0，请确认）'
				}
				let start = moment(date + ' ' + this.value[0])
				let mend = moment(date + ' ' + this.value[1])
				let hours = mend.diff(start, 'hours')
				let minutes = mend.diff(start, 'minutes')
				let second = mend.diff(start, 'seconds')
				minutes = minutes % 60
				hours = hours % 24
				second = second % 60
				return `${hours > 0 ? hours + '小时 ' : ' '}
                ${minutes > 0 ? minutes + '分钟 ' : ' '}
                ${second > 0 ? second + '秒 ' : ' '}`
			} else {
				return '先选择时间哦'
			}
		},
		previewImage(urls, pic) {
			uni.previewImage({
				current: pic,
				urls: urls,
			})
		},
		chooseLoction() {
			let _that = this
			uni.chooseLocation({
				success: function (res) {
					if (_that.name === 'TableList') {
						_that.$emit('inputValList', {
							[_that.config.id]: res.address,
						})
					} else {
						_that.$emit('inputVal', {
							[_that.config.id]: res.address,
						})
					}
				},
			})
		},
		//上传文件
		uploaFiles() {
			this.$refs.uploaFilesRef.upload()
		},
		selectFiles(e) {
			let fileArr = []
			if (
				this.config.props.fileTypes &&
				this.config.props.fileTypes.length > 0
			) {
				e.tempFiles.forEach((i) => {
					if (!this.config.props.fileTypes.includes(i.extname)) {
						uni.showToast({
							title: `只能上传${this.config.props.fileTypes}文件~`,
							icon: 'none',
						})
					}
				})
				fileArr = e.tempFiles.filter((i) =>
					this.config.props.fileTypes.includes(i.extname)
				)
				if (fileArr && fileArr.length === 0) {
					return
				}
			} else {
				fileArr = e.tempFiles
			}
			uni.showLoading({
				title: '上传中...',
			})
			fileArr.forEach((i) => {
				wx.uploadFile({
					url:
						getApp().globalData.uploadDomain +
						`wflow/wflow/res?isImg=false&userSeal=${
							this.config.props.userSeal ? true : false
						}`,
					file: i.file,
					filePath: i.file.path,
					name: 'file',
					header: {
						tenantId: uni.getStorageSync('orgId'),
						Authorization: uni.getStorageSync('token'),
						reqChannel: 100013,
					},
					success: (uploadFileRes) => {
						const obj = JSON.parse(uploadFileRes.data)
						const fileObj = fileArr.find(
							(i) => i.path.substr(-10) == obj.name.substr(-10)
						)
						this.fileData.push({ ...obj, name: fileObj.name })
					},
					fail: (res) => {
						console.log(res, '----res....')
					},
				})
				setTimeout(() => {
					uni.hideLoading()
					if (this.name === 'TableList') {
						this.$emit('inputValList', {
							[this.config.id]: this.fileData,
						})
					} else {
						this.$emit('inputVal', {
							[this.config.id]: this.fileData,
						})
					}
				}, 1000)
			})
		},
		deleteFile(arr, i) {
			arr.splice(i, 1)
			if (this.name === 'TableList') {
				this.$emit('inputValList', { [this.config.id]: arr })
			} else {
				this.$emit('inputVal', { [this.config.id]: arr })
			}
		},
		showFileBtn(id, url) {
			console.log(url, 'url')
			let extname = id.slice(id.lastIndexOf('.') + 1)
			if (imgSuffixName.includes(extname)) {
				uni.previewImage({
					current: url,
					urls: [url],
				})
			} else if (['mp4'].includes(extname)) {
				this.showVideo = true
				this.videoUrl = url
			} else {
				wx.downloadFile({
					url: url,
					success: function (res) {
						let filePath = res.tempFilePath
						wx.openDocument({
							filePath: filePath,
							fileType: extname,
							showMenu: true,
							fail: function () {
								uni.showToast({
									title: '文件预览失败',
									icon: 'none',
									duration: 3000,
								})
							},
						})
					},
				})
			}
		},
		//部门选择
		chooseDeptPicker($event) {
			if (this.name === 'TableList') {
				this.$emit('inputValList', { [this.config.id]: $event })
			} else {
				this.$emit('inputVal', { [this.config.id]: $event })
			}
		},
		//日期时间选择
		chooseDateTimePicker($event) {
			if (this.dataTimeType === 'DateTime') {
				if (this.name === 'TableList') {
					this.$emit('inputValList', { [this.config.id]: $event })
				} else {
					this.$emit('inputVal', { [this.config.id]: $event })
				}
			} else {
				if (this.beginOrEndDateTime === 'beginDateTime') {
					this.beginDateTime = $event
				} else {
					this.endDateTime = $event
				}
				if (this.name === 'TableList') {
					this.$emit('inputValList', {
						[this.config.id]: [
							this.beginDateTime,
							this.endDateTime,
						],
					})
				} else {
					this.$emit('inputVal', {
						[this.config.id]: [
							this.beginDateTime,
							this.endDateTime,
						],
					})
				}
			}
		},
		//时间点选择
		chooseTimePicker($event) {
			if (this.timeType === 'time') {
				if (this.name === 'TableList') {
					this.$emit('inputValList', { [this.config.id]: $event })
				} else {
					this.$emit('inputVal', { [this.config.id]: $event })
				}
			} else {
				if (this.beginOrEndTime === 'beginTime') {
					this.beginTime = $event
				} else {
					this.endTime = $event
				}
				if (this.name === 'TableList') {
					this.$emit('inputValList', {
						[this.config.id]: [this.beginTime, this.endTime],
					})
				} else {
					this.$emit('inputVal', {
						[this.config.id]: [this.beginTime, this.endTime],
					})
				}
			}
		},
		//印章信息
		chooseSealInfo($event) {
			this._value[this.sealInfoIndex] = {
				...this._value[this.sealInfoIndex],
				sealInfo: $event,
				isfinshed: true,
			}
			if (this.name === 'TableList') {
				this.$emit('inputValList', { [this.config.id]: this._value })
			} else {
				this.$emit('inputVal', { [this.config.id]: this._value })
			}
		},
		//人员选择
		chooseUserPicker($event) {
			if (this.name === 'TableList') {
				this.$emit('inputValList', { [this.config.id]: $event })
			} else {
				this.$emit('inputVal', { [this.config.id]: $event })
			}
		},
		openPopup(type, timeType, formatData) {
			switch (type) {
				case 'DeptPicker':
					this.isShowDeptPicker = true
					break
				case 'UserPicker':
					this.isShowUserPicker = true
					break
				case 'SignPanel':
					this.$emit('setSingure', { id: this.config.id })
					break
				case 'TimePicker':
					this.isShowTimePicker = true
					this.timeType = 'time'
					break
				case 'TimeRangePicker':
					this.isShowTimePicker = true
					this.timeType = 'timeRange'
					this.beginOrEndTime = timeType
					break
				case 'DateTimePicker':
					this.dataTimeType = 'DateTime'
					this.isShowDateTimePicker = true
					this.formatData = formatData
					break
				case 'DateTimeRangePicker':
					this.dataTimeType = 'DateTimeRange'
					this.formatData = formatData
					this.beginOrEndDateTime = timeType
					this.isShowDateTimePicker = true
					break
				case 'SealInfo':
					this.sealInfoValue = timeType
					this.sealInfoIndex = formatData
					this.isShowSealInfo = true
					break
			}
		},
		closePopup(type) {
			switch (type) {
				case 'DeptPicker':
					this.isShowDeptPicker = false
					break
				case 'UserPicker':
					this.isShowUserPicker = false
					break
				case 'SignPanel':
					this.isShowSignPanel = false
					break
				case 'TimePicker':
					this.isShowTimePicker = false
					break
				case 'TimeRangePicker':
					this.isShowTimeRangePicker = false
					break
				case 'DateTimePicker':
					this.isShowDateTimePicker = false
					break
				case 'DateTimeRangePicker':
					this.isShowDateTimePicker = false
					break
				case 'SealInfo':
					this.isShowSealInfo = false
					break
			}
		},
		//多选框
		multipleSelect(e) {
			if (this.name === 'TableList') {
				this.$emit('inputValList', { [this.config.id]: e.detail.value })
			} else {
				this.$emit('inputVal', { [this.config.id]: e.detail.value })
			}
		},
		//打开省市区picker
		openPicker() {
			this.lotusAddressData.visible = true
			this.lotusAddressData.provinceName = this.reginoObj.province
				? this.reginoObj.province
				: '广东省'
			this.lotusAddressData.cityName = this.reginoObj.city
				? this.reginoObj.city
				: '广州市'
			this.lotusAddressData.townName = this.reginoObj.town
				? this.reginoObj.town
				: '白云区'
		},
		//回传已选的省市区的值
		choseValue(res) {
			//res数据源包括已选省市区与省市区code
			this.lotusAddressData.visible = res.visible //visible为显示与关闭组件标识true显示false隐藏
			//res.isChose = 1省市区已选 res.isChose = 0;未选
			if (res.isChose) {
				this.lotusAddressData.provinceName = res.province //省
				this.lotusAddressData.cityName = res.city //市
				this.lotusAddressData.townName = res.town //区
				this.region = `${res.province} ${res.city} ${res.town}` //region为已选的省市区的值
				this.reginoObj = {
					province: res.province,
					city: res.city,
					town: res.town,
				}
				if (this.name === 'TableList') {
					this.$emit('inputValList', {
						[this.config.id]: this.region,
					})
				} else {
					this.$emit('inputVal', { [this.config.id]: this.region })
				}
			}
		},
		getUploadFile(val) {
			const imgList = val.map((i) => {
				return {
					url: i.url,
					isImage: !i.isVideo,
					name: i.fileName,
				}
			})
			if (this.name === 'TableList') {
				this.$emit('inputValList', { [this.config.id]: imgList })
			} else {
				this.$emit('inputVal', { [this.config.id]: imgList })
			}
		},
		//收款
		handlerSk() {
			this.isShowAccount = true
			/* this._value = {
        value: "1",
      }; */
		},
		//合计
		sum() {
			let sum = 0
			let zhCn = ''
			if (this._value) {
				this._value.forEach((item) => {
					let totalAmount = item.totalAmount ? item.totalAmount : '0'
					sum =
						(parseFloat(sum) * 100 +
							parseFloat(item.totalAmount) * 100) /
						100
				})
				sum = sum.toFixed(2)
				zhCn = convertCurrency(sum)
			}
			this.$store.commit('setInvoiceInfo', {
				type: 'totalAmount',
				value: sum,
			})
			return {
				sum: sum,
				zhCn: zhCn,
			}
		},
		//合计发票金额
		sumCopy() {
			let sum = 0
			let zhCn = ''
			if (this._value) {
				this._value.forEach((item) => {
					let invoiceAmount = item.invoiceAmount
						? item.invoiceAmount
						: '0'
					sum =
						(parseFloat(sum) * 100 +
							parseFloat(invoiceAmount) * 100) /
						100
				})
				sum = sum.toFixed(2)
				zhCn = convertCurrency(sum)
			}
			return {
				sum: sum,
				zhCn: zhCn,
			}
		},
		// 合计发票纠正金额
		checkInvoiceAmountSum() {
			let sum = 0
			let zhCn = ''
			if (this._value) {
				this._value.forEach((item) => {
					let checkInvoiceAmount = item.checkInvoiceAmount
						? item.checkInvoiceAmount
						: '0'
					sum =
						(parseFloat(sum) * 100 +
							parseFloat(checkInvoiceAmount) * 100) /
						100
				})
				sum = sum.toFixed(2)
				zhCn = convertCurrency(sum)
			}
			return {
				sum: sum,
				zhCn: zhCn,
			}
		},
		//多少列表
		getListLength(index) {
			let len = 0
			this._value.forEach((item, inx) => {
				if (index === inx) {
					for (let key in item.threeObj) {
						len = len + item.threeObj[key].fileList.length
					}
				}
			})
			return len
		},
		//关闭选择账户弹窗
		closeAccount() {
			this.isShowAccount = false
		},
		//选择账户
		handlerAccount(item) {
			this._value = item
		},
		//删除账户
		handlerDel() {
			this._value = ''
		},
		//添加报销
		handlerAdd() {
			let timeAreaId = this.$store.state.timeAreaId
			let formData = this.$store.state.formData
			let time = formData[timeAreaId]
			if (timeAreaId && (!time || time.findIndex((i) => !i) !== -1)) {
				return uni.showToast({
					title: `请先选择报销时间`,
					icon: 'none',
				})
			}
			if (
				timeAreaId &&
				new Date(time[0]).getTime() > new Date(time[1]).getTime()
			) {
				return uni.showToast({
					title: `结束日期时间不能小于开始日期时间`,
					icon: 'none',
				})
			}
			this.billFileList = this.allFileList()
			this.isShowAddInvoice = true
			this.infoData = {}
		},
		//全部文件列表
		allFileList(index) {
			let list = []
			if (this._value.length > 0) {
				this._value.forEach((item, inx) => {
					let threeObj = item.threeObj
					if (index >= 0) {
						if (index !== inx) {
							for (let key in threeObj) {
								list = [...list, threeObj[key].fileList]
							}
						}
					} else {
						for (let key in threeObj) {
							list = [...list, threeObj[key].fileList]
						}
					}
				})
			}
			console.log('list:', list)
			return list
		},
		//查看报销
		handlerBill(item, index) {
			console.log(1111)
			this.billFileList = this.allFileList(index)
			this.isShowAddInvoice = true
			this.infoData = JSON.parse(JSON.stringify(item))
			this.selectIndex = index
		},
		//关闭报销明细
		closeInvoice1() {
			this.infoData = {}
			this.isShowAddInvoice = false
		},
		//保存
		handlerSave(data) {
			let len = Object.keys(this.infoData).length
			if (len > 0) {
				let copy = JSON.parse(JSON.stringify(this._value))
				copy.splice(this.selectIndex, 1, data)
				this._value = [...copy]
			} else {
				this._value = [...this._value, data]
			}
		},
		//关联审批单
		handlerApproval() {
			this.isShowSelectApproval = true
		},
		handlerData(list) {
			this._value = list
		},
		handlerApprovalClose() {
			this.isShowSelectApproval = false
		},
		handlerSpdDel(index) {
			let copy = JSON.parse(JSON.stringify(this._value))
			copy.splice(index, 1)
			this._value = [...copy]
		},
		handlerLookFile() {
			this.isShowLookFile = false
		},
		handlerShowFile(item) {
			this.isShowLookFile = true
			this.billInfo = item
		},
		dealtStatus(item) {
			if (item.status === 'RUNNING') {
				const nodeList = item.assigneeList
				return {
					text: `${
						nodeList && nodeList.length === 1
							? nodeList[0].name
							: `${nodeList[0].name}等${nodeList.length}人`
					}处理中`,
					color: '#E99D42',
				}
			} else if (item.result === 'refuse-end') {
				return {
					text: '审批拒绝',
					color: '#FF1717',
				}
			} else if (item.result === 'cancel-end') {
				return {
					text: '已撤销',
					color: '#9A9A9A',
				}
			} else {
				return {
					text: '审批通过',
					color: '#81B337',
				}
			}
		},
		jumpDetail(value) {
			uni.navigateTo({
				url: `/subPackagesIndex/pages/index/approval/mainSub/approvalDetail?instanceId=${
					value.instanceId ? value.instanceId : undefined
				}&nodeId=${value.nodeId ? value.nodeId : undefined}&type=${
					this.active
				}&formId=${value.formId ? value.formId : undefined}`,
			})
		},
	},
}
</script>

<style lang="scss" scoped>
.center-bd {
	display: flex;
	justify-content: center;
	flex-direction: column;
	border: 1rpx solid ccc;
	align-items: center;
	padding: 5rpx;
}
.provinces-border {
	border: 1rpx solid #e5e5e5;
	padding: 12rpx 10rpx;
	color: #666;
	background-color: #fff;
	border-radius: 10rpx;
}
.border-time {
	box-sizing: border-box;
	border-radius: 4px;
	border: 1px solid #e5e5e5;
	align-items: center;
	display: flex;
	flex-direction: row;
	padding: 10rpx 20rpx;
	color: #666;
}
.w45 {
	width: 45%;
}
.b2 {
	color: #b2b2b2;
	font-size: 26prx;
}
.border-solid {
	border-width: 2rpx;
	border-style: solid;
	border-color: #eee;
	border-radius: 5px;
	padding: 8px 10px;
	padding-right: 5px;
	padding-left: 10px;
	color: #666;
}
.table-back {
	background-image: url('https://yilife-oss-dev-public.oss-cn-hangzhou.aliyuncs.com/34/130595/ORG/s1o9zibsvwnxmens2i9chq6x7.png');
	background-repeat: no-repeat;
	padding: 30rpx 16rpx 30rpx 18rpx;
	background-size: 100% 100%;
	-moz-background-size: 100% 100%;
	margin-left: -10rpx;
}
.table {
	border: 1px solid #f5f7fa;
	border-bottom: none;
	border-right: none;
	width: 100%;
	font-size: 22rpx;
	color: #383838;
	box-sizing: border-box;
	.table-header,
	.serial {
		background: #f5f8ff;
	}
	.tr {
		width: 100%;
		.td {
			flex: 1;
			border-right: 1px solid #f5f7fa;
			border-bottom: 1px solid #f5f7fa;
			box-sizing: border-box;
			text-align: center;
			.emtpyTd {
				height: 50rpx;
			}
			.icon {
				width: 20rpx;
				height: 20rpx;
				margin-right: 5rpx;
				background: url('https://yilife-oss-dev-public.oss-cn-hangzhou.aliyuncs.com/34/130846/ORG/hlphoka9ytp9gfog7p1ivpxvm.png?timestamp=1688360907914')
					no-repeat center/100%;
			}
		}
		.empty {
			flex: 0 0 4%;
		}
		.serial,
		.sum,
		.amount-title {
			flex-shrink: 0;
		}
		.amount-num {
			flex: 0 0 20%;
		}
		.amount-correct {
			flex: 0 0 26%;
		}
		.amount-type {
			flex: 0 0 15%;
		}
		.amount-title {
			flex: 0 0 20%;
		}
		.serial {
			flex: 0 0 10%;
			display: flex;
			justify-content: center;
			align-items: center;
		}
		.sum {
			flex: 0 0 25%;
		}
	}
}
.sk {
	position: relative;
	.sk-input {
		display: none;
	}
	.content {
		font-size: 26rpx;
		line-height: 26rpx;
		color: #b2b2b2;
		background: #fff;
		padding-bottom: 20rpx;
		border-bottom: 1px solid #e5e5e5;
	}
}
// .sk::after {
//   content: ">";
//   color: #989ea1;
//   font-size: 26rpx;
//   line-height: 26rpx;
//   position: absolute;
//   right: 10rpx;
//   top: 0;
// }
.add-box {
	border: 1px solid #2e95ff;
	border-radius: 40rpx;
	height: 70rpx;
	line-height: 70rpx;
	margin-top: 20rpx;
	display: flex;
	align-items: center;
	.add {
		color: #2e95ff;
		display: flex;
		align-items: center;
	}
}
.showDetail {
	color: #2d2d2d;
	font-size: 26rpx;
	line-height: 40rpx;
	position: relative;
	.del {
		position: absolute;
		top: 3%;
		right: 0rpx;
	}
	.showTitle {
		color: #98989a;
		font-size: 24rpx;
		margin-bottom: 10rpx;
	}
	.text {
		color: #454547;
		margin-bottom: 16rpx;
	}
}
.account-back {
	background-image: url('https://yilife-oss-dev-public.oss-cn-hangzhou.aliyuncs.com/34/130595/ORG/sgp8uvkbsyibwqfhlbfqb8czb.png');
	background-repeat: no-repeat;
	padding: 30rpx 10rpx;
	background-size: 100% 100%;
	-moz-background-size: 100% 100%;
	padding-left: 30rpx;
	.name-text {
		border-right: 4rpx solid #4b73af;
		padding-right: 30rpx;
		color: #4b73af;
		font-size: 32rpx;
	}
}
.spdList {
	color: #2d2d2d;
	font-size: 26rpx;
	line-height: 40rpx;
	.data-status {
		margin-right: 20rpx;
	}
	.spdDel {
		width: 26rpx;
		height: 26rpx;
		background: url('https://yilife-oss-dev-public.oss-cn-hangzhou.aliyuncs.com/34/130846/ORG/182rbzcyd4lfc5wn12e665zik.png?timestamp=1688390969141')
			no-repeat center/100%;
		margin-right: 0;
	}
}
.showSpd {
	background: #f9f9f9;
	padding: 20rpx 24rpx;
	border-radius: 10rpx;
	font-size: 26rpx;
	line-height: 26rpx;
	.link-icon {
		transform: translateY(2px);
	}
	.data-title {
		flex: 1;
		margin-left: 20rpx;
	}
}
.tar {
	text-align: right !important;
}
.a58 {
	color: #58a5f8;
}
.w180 {
	width: 180rpx;
}
</style>
